﻿#define _CRT_SECURE_NO_WARNINGS 1

/*
多组输入，一个整数（2~20），表示输出的行数，也表示组成“X”的反斜线和正斜线的长度。
*/
//#include <stdio.h>
//int main() {
//    int i = 0;
//    int j = 0;
//    int k = 0;
//    while (scanf("%d", &i) != EOF)
//    {
//        int x = 1;
//        for (j = i; j > 0; j--)    //行
//        {
//            for (k = 1; k <= i; k++) //列
//            {
//                if (k == x || k == j)
//                    printf("*");
//                else
//                    printf(" ");
//            }
//            x = x+1;
//            printf("\n");
//        }
//    }
//    return 0;
//}

/*
输入10个整数，要求按输入时的逆序把这10个数打印出来。
*/
//#include<stdio.h>
//
//int main()
//{
//    int arr[10] = { 0 };
//    int i = 0;
//    for (i = 0; i < 10; i++)
//    {
//        scanf_s("%d", &arr[i]);
//    }
//    for (i = 9; i >= 0; i--)
//    {
//        printf("%d ", arr[i]);
//    }
//    return 0;
//}


/*
编写一个程序，从用户输入中读取10个整数并存储在一个数组中。
然后，计算并输出这些整数的平均值。
*/
//#include<stdio.h>
//int main()
//{
//	int arr[10] = {0};
//	int i = 0;
//	int k = 0;
//	//将10个整数存入数组
//	for(i = 0; i < 10; i++)
//	{
//		scanf_s("%d", &arr[i]);
//	}
//	//十个整数相加
//	for (i = 0; i < 10; i++)
//	{
//		k = k + arr[i];
//	}
//	//求平均值
//	printf("%f\n", k / 10.0);
//	return 0;
//}


/*
将数组A中的内容和数组B中的内容进行交换。（数组一样大）
*/
//#include<stdio.h>
//int main()
//{
//	int arr1[3] = { 1,2,3 };
//	int arr2[3] = { 3,2,1 };
//	int arr3[3] = { 0 };
//	int i = 0;
//	for (i = 0; i < 3; i++)
//	{
//		arr3[i] = arr2[i];
//		arr2[i] = arr1[i];
//		arr1[i] = arr3[i];
//	}
//	printf("arr1 = ");
//	for (i = 0; i < 3; i++)
//	{
//		printf("%d ", arr1[i]);
//	}
//	printf("\narr2 = ");
//	for (i = 0; i < 3; i++)
//	{
//		printf("%d ", arr2[i]);
//	}
//	return 0;
//}


/*
打印1000年到2000年之间的闰年
*/
//#include<stdio.h>
//int main()
//{
//	int i = 0;
//	for (i = 1000; i <= 2000; i++)
//	{
//		if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)
//			printf("%d ",i);
//	}
//}

/*
给定两个数，求这两个数的最大公约数
例如：
输入：20 40
输出：20
*/
//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 0;
//	printf("请输入两个整数：");
//	scanf_s("%d %d", &a, &b);
//	if (a >= b)
//	{
//		int i = 0;
//		for (i = b; i >= 1; i--) 
//		{
//			if (a % i == 0 && b % i == 0) 
//			{
//				printf("最大公约数为：%d\n", i);
//				break;
//			}
//		}
//	}
//	else
//	{
//		int j = 0;
//		for (j = a; j >= 1; j--) {
//			if (a % j == 0 && b % j == 0) {
//				printf("最大公约数为：%d\n", j);
//				break;
//			}
//		}
//	}
//	
//	return 0;
//}

/*
求数组元素的地址
*/
//#include<stdio.h>
//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,0 };
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		printf("&arr[%d]=%p\n", i, &arr[i]);
//	}
//	return 0;
//}


/*
多个字符从两端移动，向中间汇聚
*/
//#include <stdio.h>
//#include<windows.h>
//int main()
//{
//	char arr1[] = "******************";
//	char arr2[] = "Welcome to China !";
//	int left = 0;                //极左
//	int right = strlen(arr1) - 1;//极右
//	printf("%60s\n",arr1);
//	while (left <= right)
//	{
//		Sleep(1000);
//		arr1[left] = arr2[left];
//		arr1[right] = arr2[right];
//		left++;
//		right--;
//		printf("%60s\n",arr1);
//	}
//	return 0;
//}


/*
二分查找
*/
//#include<stdio.h>
//int main()
//{
//	char arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int left = 0;
//	int right = strlen(arr) - 1;
//	int mid = 0;
//	int key = 61;
//	int find = 0;
//
//	while (left <= right)
//	{
//		mid = left + (right - left) / 2;
//		if (mid > key)
//		{
//			right = mid - 1;
//		}
//		else if (mid < key)
//		{
//			left = mid + 1;
//		}
//		else
//		{
//			find = 1;
//			printf("找到了, 下标是%d\n", mid);
//			break;
//		}
//	}
//	if(find == 0)
//		printf("找不到");
//
//	return 0;
//}


/*
加法函数
*/
//#include<stdio.h>
//#include"add.h"
//int main()
//{
//	int a = 0;
//	int b = 0;
//	int z = 0;
//	scanf_s("%d %d", &a, &b);
//	z = add(a,b);
//	printf("两数相加，得数为%d\n", z);
//	return 0;
//}

/*
为数组输入数值，并打印数值(练习使用子函数)
*/
//#include<stdio.h>
//void set_arr(int sz, int arr[]);
//void print_arr(int sz, int arr[]);
//
//int main()
//{
//	int j = 0;
//	int ack[5] = { 0 };
//	int sz = sizeof(ack) / sizeof(ack[0]);
//	set_arr(sz, ack);
//	print_arr(sz, ack);
//
//	return 0;
//}
//
//void set_arr(int tr,int arr[])
//{
//	int i = 0;
//	for (i = 0; i < tr; i++)
//	{
//		scanf_s("%d", &arr[i]);
//	}
//}
//
//void print_arr(int tr, int arr[])
//{
//	int i = 0;
//	for (i = 0; i < tr; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//}
/*
输出为1 2 3 4 5
*/
#include <stdio.h>
void test()
{
	//static修饰局部变量
	static int i = 0;
	//去掉static之后，输出为1 1 1 1 1
	//int i = 0;
	i++;
	printf("%d ", i);
}
int main()
{
	int i = 0;
	for (i = 0; i < 5; i++)
	{
		test();
	}
	return 0;
}